package com.nbsaas.boot.plugin;

/**
 * 插件接口
 * 所有插件必须实现此接口
 */
public interface Plugin {
    /**
     * 获取插件ID
     * @return 插件唯一标识
     */
    String getId();
    
    /**
     * 获取插件名称
     * @return 插件名称
     */
    String getName();
    
    /**
     * 获取插件版本
     * @return 插件版本
     */
    String getVersion();
    
    /**
     * 获取插件描述
     * @return 插件描述
     */
    String getDescription();
    
    /**
     * 插件初始化
     * @param context 插件上下文
     */
    void init(PluginContext context);
    
    /**
     * 插件启动
     */
    void start();
    
    /**
     * 插件停止
     */
    void stop();
} 